home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 1995-03-16 | 8.9 KB | 451 lines |
- Erase All
- Load "mysound.abk",5
- Screen Open 0,320,256,32,LORES
- Flash Off : Curs Off : Cls 0 : Hide On
-
- Bob Update Off
- Autoback 1
- Track Load "mod.mysong",6
- Track Loop On
- Track Play
- Load "fightmisk.abk",1
- Load "1fight.abk",1
- Load "2fight.abk",1
- PIC=20
-
- Global HIT1,HIT2,HITA,HITB,BNR,BNR2,MOVX,MOVY,NOX,NOY,MOVX2,MOVY2,NOX2,NOY2,PIC
- Global BCH,CH,HITOK,FLIP,FLIP1,B,B2,X,Y,HT1,HT2,F1,F2
- Global C1,C2,C3,C4,C5,C6,C7,C8,PO1,PO2,SPI,PTEL1,PTEL2
- P1=1 : P2=1
-
- _INIT
- While LOP=0
- If Joy(0)=16 Then LOP=1
- If Joy(1)=16 Then LOP=1
- Wend
- Track Stop
- _INIT
- Bob 3,HIT1,10,3
- Bob 4,HIT2,10,3
- Tempo 2
- Do
- Bob Clear
- CH=0
- HITOK=0
-
- If Joy(1)<>0 Then _WORK1
- If Joy(0)<>0 Then _WORK2
-
- If SPARK1<7
- If Joy(1) and 16
- SPARK1=SPARK1+2
- _SPARK1
- End If
- End If
-
- If SPARK2<7
- If Joy(0) and 16
- SPARK2=SPARK2+2
- _SPARK2
- End If
- End If
-
- If Joy(1)<17 Then SPARK1=0
- If Joy(0)<17 Then SPARK2=0
-
- BONR1=1 : BONR2=2
- If MOVY>MOVY2 Then BONR1=2 : BONR2=1
-
- Bob BONR1,MOVX,MOVY,BNR
- Bob BONR2,MOVX2,MOVY2,BNR2
-
- If HIT1=140
- PO2=PO2+1000
- B=BONR1 : X=MOVX : Y=MOVY
- F1=F1+1
- _POINTS
- SPI=1
- _BOOM
- If F1=3 : _GAMEOVER : PIC=0 : End If
- _INIT
- End If
- If HIT2=165
- PO1=PO1+1000
- B=BONR2 : X=MOVX2 : Y=MOVY2
- F2=F2+1
- _POINTS
- SPI=2
- _BOOM
- If F2=3 : _GAMEOVER : PIC=0 : End If
- _INIT
- End If
-
- Bob Draw
- Screen Swap 0
- Wait Vbl
- Loop
-
- Procedure _SPARK1
- MOVX=NOX
- MOVY=NOY
- PTEL1=0
- If Joy(1)=26 Then BNR=30 : PTEL1=13 : HT1=3 : _SP1
- If Joy(1)=24 Then BNR=31 : PTEL1=8 : HT1=1 : _SP1
- If Joy(1)=25 Then BNR=32 : PTEL1=10 : HT1=2 : _SP1
- If Joy(1)=22 Then BNR=24 : PTEL1=13 : HT1=3 : _SP1
- If Joy(1)=20 Then BNR=25 : PTEL1=8 : HT1=1 : _SP1
- If Joy(1)=21 Then BNR=26 : PTEL1=10 : HT1=2 : _SP1
- End Proc
- Procedure _SP1
- X=MOVX
- Y=MOVX2
- C=Bob Col(2)
- If C<>0
- If FLIP=2
- If X<Y
- HITOK=0
- Else
- HITOK=1
- End If
- Else
- If X>Y
- HITOK=0
- Else
- HITOK=1
- End If
- End If
- End If
- If MOVY-MOVY2>12 Then HITOK=0
- If MOVY2-MOVY>12 Then HITOK=0
- If HITOK=1
- If SPARK1<2
- HIT2=HIT2-HT1
- If HIT2<165 : HIT2=165 : End If
- Bob 4,HIT2,10,3
- PO1=PO1+PTEL1
- Shoot
- _POINTS
- End If
- End If
- Bob Clear
- End Proc
- Procedure _SPARK2
- MOVX2=NOX2
- MOVY2=NOY2
- If Joy(0)=22 Then BNR2=36 : HT2=3 : PTEL2=13 : _SP2
- If Joy(0)=20 Then BNR2=37 : HT2=1 : PTEL2=8 : _SP2
- If Joy(0)=21 Then BNR2=38 : HT2=2 : PTEL2=10 : _SP2
- If Joy(0)=26 Then BNR2=42 : HT2=3 : PTEL2=13 : _SP2
- If Joy(0)=24 Then BNR2=43 : HT2=1 : PTEL2=8 : _SP2
- If Joy(0)=25 Then BNR2=44 : HT2=2 : PTEL2=10 : _SP2
- End Proc
- Procedure _SP2
- X=MOVX
- Y=MOVX2
- C=Bob Col(1)
- If C<>0
- If FLIP1=1
- If X<Y
- HITOK=1
- Else
- HITOK=0
- End If
- Else
- If X>Y
- HITOK=1
- Else
- HITOK=0
- End If
- End If
- End If
- If MOVY-MOVY2>12 Then HITOK=0
- If MOVY2-MOVY>12 Then HITOK=0
- If HITOK=1
- If SPARK2<2
- HIT1=HIT1+HT2
- If HIT1>140 : HIT1=140 : End If
- Bob 3,HIT1,10,3
- PO2=PO2+PTEL2
- Sam Play 4
- _POINTS
- End If
- End If
- Bob Clear
- End Proc
- Procedure _WORK1
- NOX=MOVX
- NOY=MOVY
-
- If Joy(1)=4 Then MOVX=MOVX-8 : FLIP=2
- If Joy(1)=8 Then MOVX=MOVX+8 : FLIP=1
- If Joy(1)=1 Then MOVY=MOVY-8
- If Joy(1)=2 Then MOVY=MOVY+8
- If Joy(1)=9 Then MOVX=MOVX+8 : MOVY=MOVY-8 : FLIP=1
- If Joy(1)=10 Then MOVX=MOVX+8 : MOVY=MOVY+8 : FLIP=1
- If Joy(1)=5 Then MOVX=MOVX-8 : MOVY=MOVY-8 : FLIP=2
- If Joy(1)=6 Then MOVX=MOVX-8 : MOVY=MOVY+8 : FLIP=2
-
- If MOVX<40 Then MOVX=MOVX+8
- If MOVX>270 Then MOVX=MOVX-8
- If MOVY<140 Then MOVY=MOVY+8
- If MOVY>200 Then MOVY=MOVY-8
-
- If MOVX<MOVX2
- If MOVX>MOVX2-32
- If MOVY<MOVY2+16 and MOVY>MOVY2-16
- MOVX=MOVX-8
- End If
- End If
- End If
- If MOVX>MOVX2
- If MOVX<MOVX2+32
- If MOVY<MOVY2+16 and MOVY>MOVY2-16
- MOVX=MOVX+8
- End If
- End If
- End If
- If MOVY<MOVY2
- If MOVY>MOVY2-16
- If MOVX<MOVX2+32 and MOVX>MOVX2-32
- MOVY=MOVY-8
- End If
- End If
- End If
- If MOVY>MOVY2
- If MOVY<MOVY2+16
- If MOVX<MOVX2+32 and MOVX>MOVX2-32
- MOVY=MOVY+8
- End If
- End If
- End If
-
-
- If Joy(1)>10
- If FLIP=2
- BNR=21
- Else
- BNR=27
- End If
- Pop Proc
- End If
-
- B2=B2+1
- If B2=4 Then B2=1
- If FLIP=2
- If B2=1
- BNR=21
- End If
- If B2=2
- BNR=22
- End If
- If B2=3
- BNR=23
- End If
- Else If FLIP=1
- If B2=1
- BNR=27
- End If
- If B2=2
- BNR=28
- End If
- If B2=3
- BNR=29
- End If
- End If
- End Proc
- Procedure _WORK2
- NOX2=MOVX2
- NOY2=MOVY2
-
- If Joy(0)=4 Then MOVX2=MOVX2-8 : FLIP1=1
- If Joy(0)=8 Then MOVX2=MOVX2+8 : FLIP1=2
- If Joy(0)=1 Then MOVY2=MOVY2-8
- If Joy(0)=2 Then MOVY2=MOVY2+8
- If Joy(0)=9 Then MOVX2=MOVX2+8 : MOVY2=MOVY2-8 : FLIP1=2
- If Joy(0)=10 Then MOVX2=MOVX2+8 : MOVY2=MOVY2+8 : FLIP1=2
- If Joy(0)=5 Then MOVX2=MOVX2-8 : MOVY2=MOVY2-8 : FLIP1=1
- If Joy(0)=6 Then MOVX2=MOVX2-8 : MOVY2=MOVY2+8 : FLIP1=1
-
- If MOVX2<40 Then MOVX2=MOVX2+8
- If MOVX2>270 Then MOVX2=MOVX2-8
- If MOVY2<140 Then MOVY2=MOVY2+8
- If MOVY2>200 Then MOVY2=MOVY2-8
-
- If MOVX2<MOVX
- If MOVX2>MOVX-32
- If MOVY2<MOVY+16 and MOVY2>MOVY-16
- MOVX2=MOVX2-8
- End If
- End If
- End If
- If MOVX2>MOVX
- If MOVX2<MOVX+32
- If MOVY2<MOVY+16 and MOVY2>MOVY-16
- MOVX2=MOVX2+8
- End If
- End If
- End If
- If MOVY2<MOVY
- If MOVY2>MOVY-16
- If MOVX2<MOVX+32 and MOVX2>MOVX-32
- MOVY2=MOVY2-8
- End If
- End If
- End If
- If MOVY2>MOVY
- If MOVY2<MOVY+16
- If MOVX2<MOVX+32 and MOVX2>MOVX-32
- MOVY2=MOVY2+8
- End If
- End If
- End If
-
- If Joy(0)>10
- If FLIP1=1
- BNR2=33
- Else
- BNR2=39
- End If
- Pop Proc
- End If
-
- B=B+1
- If B=4 Then B=1
- If FLIP1=1
- If B=1
- BNR2=33
- End If
- If B=2
- BNR2=34
- End If
- If B=3
- BNR2=35
- End If
- Else If FLIP1=2
- If B=1
- BNR2=39
- End If
- If B=2
- BNR2=40
- End If
- If B=3
- BNR2=41
- End If
- End If
-
- End Proc
- Procedure _POINTS
- A$=Str$(PO1)
- B$=Str$(PO2)
-
- LE1=Len(A$)
- LE2=Len(B$)
-
- If LE1=2
- A1$=Mid$(A$,2,1)
- C1=Val(A1$)
- End If
- If LE1=3
- A1$=Mid$(A$,3,1)
- A2$=Mid$(A$,2,1)
- C1=Val(A1$)
- C2=Val(A2$)
- End If
- If LE1=4
- A1$=Mid$(A$,4,1)
- A2$=Mid$(A$,3,1)
- A3$=Mid$(A$,2,1)
- C1=Val(A1$)
- C2=Val(A2$)
- C3=Val(A3$)
- End If
- If LE1=5
- A1$=Mid$(A$,5,1)
- A2$=Mid$(A$,4,1)
- A3$=Mid$(A$,3,1)
- A4$=Mid$(A$,2,1)
- C1=Val(A1$)
- C2=Val(A2$)
- C3=Val(A3$)
- C4=Val(A4$)
- End If
-
-
- If LE2=2
- A1$=Mid$(B$,2,1)
- C5=Val(A1$)
- End If
- If LE2=3
- A1$=Mid$(B$,3,1)
- A2$=Mid$(B$,2,1)
- C5=Val(A1$)
- C6=Val(A2$)
- End If
- If LE2=4
- A1$=Mid$(B$,4,1)
- A2$=Mid$(B$,3,1)
- A3$=Mid$(B$,2,1)
- C5=Val(A1$)
- C6=Val(A2$)
- C7=Val(A3$)
- End If
- If LE2=5
- A1$=Mid$(B$,5,1)
- A2$=Mid$(B$,4,1)
- A3$=Mid$(B$,3,1)
- A4$=Mid$(B$,2,1)
- C5=Val(A1$)
- C6=Val(A2$)
- C7=Val(A3$)
- C8=Val(A4$)
- End If
-
- Bob 6,10,30,C4+4
- Bob 7,35,30,C3+4
- Bob 8,60,30,C2+4
- Bob 9,85,30,C1+4
- Bob 10,210,30,C8+4
- Bob 11,235,30,C7+4
- Bob 12,260,30,C6+4
- Bob 13,285,30,C5+4
-
- End Proc
- Procedure _BOOM
- Sam Play 1
- For XX=14 To 20
- Bob B,X-30,Y-40,XX
- Bob Update
- Wait 2
- Next XX
- End Proc
- Procedure _INIT
- HIT1=37 : HIT2=267 : HIT=0 : BNR=27 : BNR2=33
- If PIC=20 Then Load Iff "amos.drage",0 : PIC=0 : Pop Proc
- PIC=PIC+1
- If PIC>5 Then PIC=1 : _GAMEOVER
- If PIC=2 Then Load Iff "amos.gadeport2",0
- If PIC=3 Then Load Iff "amos.gade1",0
- If PIC=1 Then Load Iff "amos.gade2",0
- If PIC=4 Then Load Iff "amos.indk",0
- If PIC=5 Then Load Iff "amos.havn",0
-
- Paste Bob 0,0,2
- Double Buffer
- Bob 3,HIT1,10,3
- Bob 4,HIT2,10,3
- _POINTS
- MOVX=60 : MOVY=150
- MOVX2=270 : MOVY2=150
- End Proc
- Procedure _GAMEOVER
- C1=0 : C2=0 : C3=0 : C4=0 : C5=0 : C6=0 : C7=0 : C8=0 : F1=0 : F2=0
- Wait 20 : Bob Clear : Bob 5,60,60,1 : Bob Draw
- Bell : PO1=0 : PO2=0 : Wait 50 : Screen Swap 0
- Wait Vbl : Track Play : Wait 200
- Load Iff "amos.drage",0
- While LOP=0
- If Joy(0)=16 Then LOP=1
- If Joy(1)=16 Then LOP=1
- Wend
- Track Stop
- End Proc